3.2 | رحلة مع كود الأردوينو | دورة تعلم الأردوينو باحترافية
هذه المحاضرة الثانية من الشبتر الثاني من هذه الدورة, والذي سنتحدث فيه عن مسار الكود البرمجي منذ كتابته وحتى تنفيذه, ومن ثم سنقوم بشرح كود الوميض مرة أخرى.
وكما سنتحدث عن عملية التأليف (Compilation), وسنتعرف على كود الوميض مرة أخرى, كما سنتعرف على أنواع الأخطاء في البرمجة.
كما تعلمنا في الموضوع السابق, بأنه يكتب الكود بمكانه, على سبيل المثال كود الوميض, وعند الضغط على زر رفع سوف يرتفع الكود على بوردة الأردوينو, وبالتالي لو طرحت عليك سؤالا, ما هي الخطوات التي ينفذها الأردوينو منذ كتابة الكود حتى تنفيذه؟؟
بكل وضوح سيكون جوابك إن لم يكن لك خلفية برمجية بأن البرنامج يرفع الكود على الأردوينو, ومن ثم ينفذ الأردوينو الكود,للأسف الشديد, إن هذه ليست الاجابة الصحيحة !!!
رحلة مع كود الاردوينو
تبدأ هذه الرحلة مند كتابتك الكود وهي أول الخطوات, وتكون كتابة الكود عبارة عن كتابة على برنامج محرر نصوص, مثل برنامج الدفتر, أو المفكرة, أو حتى برنامج الوورد الشهير...
ولكن عند الضغط على زر رفع للأردوينو, يقوم البرنامج بعملية تسمى التأليف (Compilation), ويقوم بهذه العملية برنامج يسمى المؤلف (Compiler).
المؤلف (Compiler): هو برنامج يعمل على تحويل الكود البرمجي من النص الذي يكتب في محرر الكود إلى كود باللغة الثنائية يفهمه الاردوينو, يسمى كود الألة (Machine Code), وهو كود يتكون فقط من أصفار ووحايد.
وهذه الخطوة يصل إليها البرنامج ويقف لو ضغط على زر التصحيح, لذك من الممكن أن نسمي زر التصحيح, بزر الكمبايلر.
بعد عملية التأليف ينقل البرنامج كود الألة من الحاسوب إلى الأردوينو, وبعدها ينتقل عبر عدة خطوات إلى المعالج Processor ليتم تنفيذ الكود واظهار الناتج النهائي.
لاحظ الشكل التالي الذي يوضح هذا.
فائدة الكمبايلر
تكمن فائدة الكمبايلر في التأكد من سلامة وصحة الكود قبل تحويله لكود الألة, ويقوم بتحديد الأماكن التي فيها أخطاء إملائية تخالف قواعد لغة البرمجة, حيث سنتعرف على أنواع الأخطاء في أخر هذا المقال.
وبما أ ن الكود قد وصل الأردوينو, فإن الأردوينو يقوم بتنفيذه, ولكن ما هي الألية التي يتبعها الأردوينو لتنفيذ الكود.
كيف ينفذ الأردوينو الأوامر البرمجية؟!
عندما يبدا الأردوينو بتنفيذ الكود البرمجي فإنه يبدأ بالدالة void setup () متجاهلا أي دالة أخرى, وبمجرد الانتهاء من هذه الدالة ينتقل إلى الدالة void loop ().
بعد ذلك يذهب الأردوينو إلى تطبيق الدالة void loop () ويعمل على تنفيذها سطر سطر بالتوالي مالم يأتي أيا جملة تقتضي تغير هذا التسلسل مثل (for, while, do… while) ...
وبمجرد الانتهاء من دالة void loop () يقوم الأردوينو بإعادة تنفيذها, ويستمر التكرار حتى يتم إيقاف تشغيل الأردوينو.
الوميض مرة أخرى
يقوم الكمبايلر بالتأكد من صحة الكود ويتجاهل التعليقات, ومن ثم يتم رفع الكود إلى الأردوينو ليقوم بتنفيذه.
يتجاهل الأردوينو جميع الدوال ويذهب إلى دالة ()void setup وينفذ ما بها فيقوم بضبط المنفذ رقم 13 كمخرج, بعد الانتهاء منها ينتقل إلى دالة ال void loop () وينفذ ما بها فيخرج 5 فولت على الرجل 13فيضئ اللد ثم يتوقف ثانية ثم يخرج صفر فولت على الرجل رقم 13 فينطفئ اللد ثم يتوقف ثانية, بعد الانتهاء من دالة ال ()void loop ينتقل الأردوينو مرة أخرى إليها ويقوم بتنفيذها, إلى أن يتم فصل الطاقة عن الأردوينو أو يضغط على زر ال Reset الذي سبق شرحه.
ملاحظة: إذا تم الضغط على زر ال Reset فإن الأردوينو يبدا من البداية أي من دالة الvoid setup() ويتبع الخطوات السابقة.
أنواع الأخطاء بالبرمجة
سبق وأن ذكرنا, أن الكمبايلر يعمل على اكتشاف الأخطاء في الكود البرمجي, لكن بالحقيقة هو لا يكتشف جميع الأخطاء, وانما يكتشف نوع واحد من ثلاث أنواع من الأخطاء.
أنواع الأخطاء في البرمجة:
الأخطاء الإملائية(Syntax error): أي الأخطاء التي تكون في البناء التركيبي للجملة البرمجية, وهذا النوع الوحيد الذي يكتشفه الكمبايلر.
الأخطاء المنطقية(Logic error): هي الأخطاء التي تؤدي إلى اظهار ناتج غير المتوقع, ولا يكتشفه الكمبايلر, ولذلك تعد أصعب أنواع الأخطاء, والتي سنبينها لاحقا.
أخطاء نفذ الوقت(Time Out error): وهي التي تكون خارج قدرة الأردوينو, أو التي لا يعيها الأردوينو, مثل القسمة على صفر, كما أن هذه الأخطاء لا يكتشفها الكمبايلر.
لمشاهدة الحلقة من على اليوتيوب, اضغط هنا. للانتقال للدورة على اليوتيوب, اضغط هنا.
للإنتقال إلى الموضوع التالي, اضغط هنا.
والسلام عليكم ورحمة الله تعالى وبركاته